﻿using Mes.Domain.BoundedContext.EntityBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Mes.Domain.BoundedContext.Entities.Quality
{
    /// <summary>
    /// 记录样本
    /// Records samples
    /// </summary>
    public class Sample : NoIdEntityBase
    {
        public int Ent_Id { get; set; }

        public string? Sample_Name { get; set; }

        public int? Item_Id { get; set; }

        public string? Wo_Id { get; set; }

        public string? Oper_Id { get; set; }

        public int? Seq_no { get; set; }

        public int? Context_Ent_Id { get; set; }

        public string? Context_Item_Id { get; set; }

        public int? Item_Category_Id { get; set; }

        public string? Process_Id { get; set; }

        public string? Context_Oper_Id { get; set; }

        public int? Freq_Id { get; set; }

        public int? Plan_id { get; set; }

        public string? Segment_Requirement_Id { get; set; }

        public string? Segment_Response_Id { get; set; }

        public string? Lot_No { get; set; }

        public string? Sublot_No { get; set; }

        public DateTime Requested_Time_Utc { get; set; }

        public DateTime Requested_Time_Local { get; set; }

        public DateTime? Expiry_Time_Utc { get; set; }

        public DateTime? Expiry_Time_Local { get; set; }

        public DateTime? Warning_Time_Utc { get; set; }

        public DateTime? Warning_Time_Local { get; set; }

        public string? Pulled_By { get; set; }

        public DateTime? Pulled_Time_Utc { get; set; }

        public DateTime? Pulled_Time_Local { get; set; }

        public bool Final { get; set; }

        public string? Finalized_By { get; set; }

        public DateTime? Finalized_At_Utc { get; set; }

        public DateTime? Finalized_At_Local { get; set; }

        public string? Verified_by { get; set; }

        public int Sample_Status { get; set; }

        public int? Sample_Result { get; set; }

        public string? Spare1 { get; set; }

        public string? Spare2 { get; set; }

        public string? Spare3 { get; set; }

        public string? Spare4 { get; set; }

        public int? Priority { get; set; }

        public string? Last_Edit_Comment { get; set; }

        public string Last_Edit_By { get; set; } = string.Empty;

        public DateTime Last_Edit_At { get; set; } = DateTime.Now;

        public int Sample_Id { get; set; }
    }
}
